Init Script
2014/10/08 |
Create an init Script to make Oracle start automatically on system booting.
|
|
[1] | Set environment variables for "oracle" user like follows. |
[oracle@dlp ~]$
vi /etc/oratab # end line: change dlp:/u01/app/oracle/product/12.1.0/dbhome_1: Y
[oracle@dlp ~]$
vi ~/.bash_profile # add follows to the end export ORACLE_SID=dlp |
[2] | Create an init Script with the root user. |
[root@dlp ~]#
vi /etc/rc.d/init.d/oracle # it's an example, edit it you like. #!/bin/bash # oracle: Start/Stop Oracle Database 12c R1 # # chkconfig: 345 90 10 # description: The Oracle Database is an Object-Relational Database Management System. # # processname: oracle . /etc/rc.d/init.d/functions LOCKFILE=/var/lock/subsys/oracle ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1 ORACLE_USER=oracle case "$1" in 'start') if [ -f $LOCKFILE ]; then echo $0 already running. exit 1 fi echo -n $"Starting Oracle Database:" su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start" su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" touch $LOCKFILE ;; 'stop') if [ ! -f $LOCKFILE ]; then echo $0 already stopping. exit 1 fi echo -n $"Stopping Oracle Database:" su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop" su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut" rm -f $LOCKFILE ;; 'restart') $0 stop $0 start ;; 'status') if [ -f $LOCKFILE ]; then echo $0 started. else echo $0 stopped. fi ;; *) echo "Usage: $0 [start|stop|status]" exit 1 esac exit 0 chmod 755 /etc/rc.d/init.d/oracle [root@dlp ~]# chkconfig --add oracle [root@dlp ~]# chkconfig oracle on
|